package com.hnhs.controller;

import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.hnhs.info.ImgInfo;
import com.hnhs.info.UploadInfo;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.stream.Collectors;

@RestController
@RequestMapping("/api/upload")
public class UploadController {

    @PostMapping
    public String upload(@RequestBody UploadInfo uploadInfo){
        String name = uploadInfo.getName();
        String base64 = uploadInfo.getBase64();
        String[] base64s= StrUtil.splitToArray(base64,"base64,");
        //转换为byte数组
        byte[] bytes= Base64.decode(base64s[1]);
        //uuid  雪花算法
        name= IdUtil.getSnowflakeNextIdStr()+"_"+name;

        //写入到图片服务器 也就nginx
        FileUtil.writeBytes(bytes,"D:/software/nginx-1.21.4/html/images/"+name);

        return "http://www.hphs.com/images/"+name;
    }
    @GetMapping
    public List<ImgInfo> getimg(){
        List<String> fileNames = FileUtil.listFileNames("D:/software/nginx-1.21.4/html/images/");
        //stream 采用map集合元素转化的方法
       List<ImgInfo> collect= fileNames.stream().map(item->{
            return new ImgInfo(item,"http://www.hphs.com/images/"+item);
        }).collect(Collectors.toList());
        System.out.println(collect);
        return collect;

    }
}
